package com.shujia.day09;

public class C09StringFunction {
    public static void main(String[] args) {

        /*
            替换功能
                String replace(char old,char new)
                String replace(String old,String new)
            去除字符串两空格
                String trim()  在数据清洗过程中，经常会被用到
            按字典顺序比较两个字符串
                int compareTo(String str)   // 按字典顺序比较，是去除对应下标位置的字符转换成ASC码表中的数值，再将数值进行计算
                int compareToIgnoreCase(String str) // 忽略大小写进行比较其值

            注意：
                字符串的内部，实际上是将字符串中的每一个字符用 字符数组进行保存
         */

        String str = "赖成真的好帅啊..";
        System.out.println(str.replace("赖成", "强义勇"));

        String str2 = "  Java 真简单啊 我都不想学了   ";
        System.out.print(str2.trim());
        System.out.println("====");


        String str3 = "a";
        String str4 = "c";

        String str5 = "hello";
        String str6 = "hel";

        // 如果 两个字符前面都相同，那么直接返回当前字符串长度的差值

        System.out.println(str3.compareTo(str4));  // -2
        System.out.println(str5.compareTo(str6));  // 2  debug 自行查看

        String str7 = "Hello";
        String str8 = "hel";
        System.out.println(str7.compareToIgnoreCase(str8)); // 2

        /*
            public int compareTo(String anotherString) {  anotherString = c
                int len1 = value.length;
                int len2 = anotherString.value.length;
                int lim = Math.min(len1, len2);
                char v1[] = value;
                char v2[] = anotherString.value;

                int k = 0;
                while (k < lim) {
                    char c1 = v1[k];
                    char c2 = v2[k];
                    if (c1 != c2) {
                        return c1 - c2;
                    }
                    k++;
                }
                return len1 - len2;
            }
         */

    }
}
